package com.raycloud.java.dada.model;

import com.raycloud.java.dada.annotation.ParamValue;
import lombok.Data;

/**
 * Created by:  intelliJ IDEA
 *
 * @Author albert
 * @Description: 达达预发订单、重发订单接口参数
 * @Date:2017/6/15 下午3:51
 * @package:com.test.java.dada.model
 * @Modified By:
 */
@Data
public class PreAddOrder {
    //门店编号
    @ParamValue(filedName = "shop_no",isNotNull = true)
    private String shopNo;
    //第三方订单ID
    @ParamValue(filedName = "origin_id",isNotNull = true)
    private String originId;
    //订单所在城市的code
    @ParamValue(filedName = "city_code",isNotNull = true)
    private String cityCode;
    //订单金额
    @ParamValue(filedName = "cargo_price",isNotNull = true)
    private Double cargoPrice;
    //是否需要垫付 1:是 0:否
    @ParamValue(filedName = "is_prepay",isNotNull = true)
    private Integer isPrepay;
    //期望取货时间 建议取值为当前时间往后推10~15分钟）
    @ParamValue(filedName = "expected_fetch_time",isNotNull = true)
    private Long expectedFetchTime;
    //收货人姓名
    @ParamValue(filedName = "receiver_name",isNotNull = true)
    private String receiverName;
    //收货人地址
    @ParamValue(filedName = "receiver_address",isNotNull = true)
    private String receiverAddress;
    //回调URL
    @ParamValue(filedName = "callback",isNotNull = true)
    private String callback;
    //收货人手机号
    @ParamValue(filedName = "receiver_phone")
    private String receiverPhone;
    //收货人地址维度（高德坐标系）
    @ParamValue(filedName = "receiver_lat")
    private Double receiverLat;
    //收货人地址经度（高德坐标系)
    @ParamValue(filedName = "receiver_lng")
    private Double receiverLng;
    //收货人座机号（手机号和座机号必填一项）
    @ParamValue(filedName = "receiver_tel")
    private String receiverTel;
    //小费（单位：元，精确小数点后一位）
    @ParamValue(filedName = "tips")
    private Double tips;
    //商家应付金额（单位：元）
    @ParamValue(filedName = "pay_for_supplier_fee")
    private Double payForSupplierFee;
    //用户应收金额（单位：元）
    @ParamValue(filedName = "fetch_from_receiver_fee")
    private Double fetchFromReceiverFee;
    //第三方平台补贴运费金额（单位：元）
    @ParamValue(filedName = "deliver_fee")
    private Double deliverFee;
    //订单创建时间
    @ParamValue(filedName = "create_time")
    private Long createTime;
    //订单备注
    @ParamValue(filedName = "info")
    private String info;
    //订单商品类型
    @ParamValue(filedName = "cargo_type")
    private Integer cargoType;
    //订单重量（单位：Kg）
    @ParamValue(filedName = "cargo_weight")
    private Double cargoWeight;
    //订单商品数量
    @ParamValue(filedName = "cargo_num")
    private Integer cargoNum;
    //期望完成时间
    @ParamValue(filedName = "expected_finish_time")
    private Long expectedFinishTime;
    //发票抬头
    @ParamValue(filedName = "invoice_title")
    private String invoiceTitle;
    //送货开箱码
    @ParamValue(filedName = "deliver_locker_code")
    private String deliverLockerCode;
    //取货开箱码
    @ParamValue(filedName = "pickup_locker_code")
    private String pickupLockerCode;
    //订单来源标示（该字段可以显示在达达app订单详情页面，只支持字母，最大长度为10）
    @ParamValue(filedName = "origin_mark")
    private String originMark;
    //订单来源编号（该字段可以显示在达达app订单详情页面，只支持数字，最大长度为15）
    @ParamValue(filedName = "origin_mark_no")
    private String originMarkNo;

}
